class Score {
    // 分数
    score: number = 0;
    // 级别
    level: number = 1;
    // 每次加的分数
    readonly scoreUp: number = 3;
    // 最高级别
    readonly maxLevel: number = 10;
    // 最高分数
    readonly maxScore: number = 100;
    // 分数元素
    scoreElement: HTMLSpanElement;
    // 级别元素
    levelElement: HTMLSpanElement;

    constructor() {
        // 初始化分数元素
        this.scoreElement = document.querySelector(".score") as HTMLSpanElement;
        // 初始化级别元素
        this.levelElement = document.querySelector(".level") as HTMLSpanElement;
    }

    // 加分数
    addSocre() {
        // 分数加一
        this.score++;
        // 更新分数元素文本
        this.scoreElement.innerText = this.score.toString();
        // 如果级别小于最高级别且分数是每次加的分数的倍数
        if (this.level < this.maxLevel && this.score % this.scoreUp == 0) {
            this.levelUp()
        }
    }

    // 升级别
    levelUp() {
        // 如果级别小于最高级别
        if (this.level < this.maxLevel) {
            // 级别加一
            this.level++;
            // 更新级别元素文本
            this.levelElement.innerText = this.level.toString();
        }

    }
}

export default Score;